// 左子树上所有结点的值均小于或等于它的根结点的值
// 右子树上所有结点的值均大于或等于它的根结点的值
// 左、右子树也分别为二叉搜索树

class Node {
    constructor(data) {
        this.left = null;
        this.right = null;
        this.value = data;
    }

    // insertNode：根据一个父节点，插入一个子节点
    insertNode(root, newNode) {
        if (newNode.value < root.value) {
            (!root.left) ? root.left = newNode : this.insertNode(root);
        } else {
            (!root.right) ? root.right = newNode : this.insertNode(root);
        }
    }

    insert(value) {
        let newNode = new Node(value);
    }

    // insert：插入一个新节点
    // removeNode：根据一个父节点，移除一个子节点
    // remove：移除一个节点
    // findMinNode：获取子节点的最小值
    // searchNode：根据一个父节点，查找子节点
    // search：查找节点
    // preOrder：前序遍历
    // InOrder：中序遍历
    // PostOrder：后续遍历
}



